import _ from 'lodash';
import { fieldArrayToObject } from '@src/util/array'
import i18n from '@src/locales'
export const flowRules = [{
  value: 'allot',
  label: i18n.t('common.task.button.allot')
}, {
  value: 'accept',
  label: i18n.t('common.task.button.accept')
}, {
  value: 'start',
  label: i18n.t('common.task.button.start')
}, {
  value: 'finish',
  label: i18n.t('common.base.finish')
}, {
  value: 'cost',
  label: i18n.t('common.task.button.balance')
}, {
  value: 'review',
  label: i18n.t('common.task.button.review')
}, {
  value: 'close',
  label: i18n.t('common.base.close')
}]
export const flowState = [{
  value: 'created',
  label: i18n.t('common.task.type.created')
}, {
  value: 'taskPool',
  label: i18n.t('common.task.type.taskPool')
}, {
  value: 'allocated',
  label: i18n.t('common.task.type.allocated')
}, {
  value: 'accepted',
  label: i18n.t('common.task.type.accepted')
}, {
  value: 'processing',
  label: i18n.t('common.task.type.processing')
}, {
  value: 'finished',
  label: i18n.t('common.task.type.finished')
}, {
  value: 'costed',
  label: i18n.t('common.task.type.costed')
}]
export const flowMapState = {
  created:[{ // 待指派
    value: 'allot',  // 指派
    label: i18n.t('common.task.button.allot')
  }],
  taskPool: [{// 工单池
    value: 'accept', // 接受
    label: i18n.t('common.task.button.accept')
  }],
  allocated:[{// 已指派
    value: 'accept', // 接受
    label: i18n.t('common.task.button.accept')
  }],
  accepted:[{// 已接受
    value: 'start', // 开始
    label: i18n.t('common.task.button.start')
  }],
  processing:[{// 进行中
    value: 'finish', // 完成
    label: i18n.t('common.base.finish')
  }],
  finished:[{// 已完成
    value: 'cost', // 结算
    label: i18n.t('common.task.button.balance')
  }],
  costed:flowRules, // 已结算
}

export function toFieldArray(flowMapObject, flowRulesAll = flowRules) {
  let arr = [];
  flowRulesAll.forEach(item =>{
    if(flowMapObject[item.value]){
      arr.push(item)
    }
  })
  return arr
}


//工单状态翻译
export const flowStateNameEnum = () => {
  return {
    created: i18n.t('common.task.type.created'),
    taskPool: i18n.t('common.task.type.taskPool'),
    allocated: i18n.t('common.task.type.allocated'),
    accepted: i18n.t('common.task.type.accepted'),
    processing: i18n.t('common.task.type.processing'),
    finished: i18n.t('common.task.type.finished'),
    costed: i18n.t('common.task.type.costed'),
  }
}
// 工单按钮翻译
export const flowBtnNameEnum = () => {
  return {
    allot: i18n.t('common.task.button.allot'),
    accept: i18n.t('common.task.button.accept'),
    start: i18n.t('common.task.button.start'),
    finish: i18n.t('common.base.finish'),
    cost: i18n.t('common.task.button.balance'),
    review: i18n.t('common.task.button.review'),
    close: i18n.t('common.base.close'),
  }
}